﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
using SISCON.Bl;
using SISCON.Vo;
using SISCON.Common;
using SISCON.Model;

namespace SISCON.Service
{

    /// <summary>
    /// Recive todos los parametros de http y los pasa a la capa de UploadBL
    /// </summary>
    [WebService(Namespace = "http://SISCON.mx/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [System.ComponentModel.ToolboxItem(false)]
    [System.Web.Script.Services.ScriptService]
    public class UploadServices : System.Web.Services.WebService
    {

        private UploadBL _UploadBL = new UploadBL();

        /// <summary>
        /// Pasa los parametros al BL correspondiente
        /// </summary>
        /// <param name="sessionUUID">Session del usuario</param>
        /// <param name="base64EncodedFile">Encode del archivo</param>
        /// <param name="fileName">Nombre del archivo</param>
        /// <returns></returns>
        [WebMethod]
        public ResultObject UploadExcelFile(string sessionUUID, string base64EncodedFile, string fileName)
        {
            try
            {
                _UploadBL.UploadExcelFile(sessionUUID, base64EncodedFile, fileName);
                return new ResultObject("ok", null);
            }
            catch (Exception ex)
            {
                return new ResultObject(null, ex is SISCONException ? ex.Message : "No fue posible cargar el archivo. Favor de intentar más tarde.");
            }
        }
    }
}
